Performance polymorphism
نویسندگان
چکیده
In an interactive functional programming environment with a Milner-style polymorphic type system (Milner 1978), a modification to one definition may imply changes in the types of other definitions. A polymorphic typechecker must carry out some re-typechecking to determine all of these changes. This paper presents a new typechecking algorithm which performs fine-grained re-typechecking based on analysis of individual type constraints. The new algorithm is compared with that of Nikhil (Nikhil 1985), which performs re-typechecking of entire definitions. 1 Background and Motivation The first author has constructed a programming environment, called glide, to support exploratory programming in a purely functional lazily-evaluated language. The glide language is similar to Miranda (Turner 1985). A glide program is a collection of definitions and an expression using them. Programming in glide involves introducing new definitions, performing computations involving the current definitions, and modifying definitions. The novel features of the glide environment include its debugging tools and its polymorphic typecbecker. The debugging tools have been described elsewhere (Toyn 1986). The typechecker imposes a Milner-style polymorphic type system (Milner 1978) without introducing long delays that would disrupt exploratory programming. In Practical Polymorphism (Nikhil 1985), Nikhil presents an algorithm that addresses the re-typechecking problem. His algorithm is based on the observation that if a definition does not use a modified definition, either directly or indirectly, then its type cannot be affected by changes in the type of the modified definition. This algorithm identifies those definitions whose types might change from the dependency graph of the program. Only the identified definitions are re-typechecked. An early version of glide used Nikhil's re-typechecking algorithm. However, an automatic loading mechanism was subsequently designed for glide which interacted badly with Nikhil's algorithm. In each session, needed definitions have to be loaded from the file system into the programming environment before they can be used. As each definition is loaded, some previously loaded definitions may have to be retypechecked. To minimize re-typechecking, it is best to load definitions at the leaves of the dependency graph before those higher up the graph. But glide's automatic loading mechanism causes definitions to be loaded only when they are first needed in a computation, that is from the root of the dependency graph down towards the leaves. So worst-case behaviour was always obtained from the re-typechecking algorithm. Rather than change the loading mechanism, the problem was solved by an improved re-typechecking algorithm as described here.
منابع مشابه
Investigation of the Relationship Between a Genetic Polymorphism in ACTN3 and Elite Sport Performance Among Iranian Soccer Players
Objectives: Polymorphisms in α-actinin-3 (ACTN3) gene are considered to be important in the genetic predisposition to human athletic performance. Most of the activities in soccer such as jumping, striking the ball, and running are considered plyometric and explosive. Performance power during such activities depends on the strength of the muscles involved. Therefore, high muscle strength i...
متن کاملPolymorphism in FSHβ and FSHRGenes and Their Relationship with Productive and Reproductive Performance in Iran Black, Arman and BaluchiSheep Breeds
The objective of the present study was to detect polymorphism in follicle stimulating hormone receptor (FSHR) and beta subunit of follicle stimulating hormone (FSHβ) genes and their relation to litter size and body weight trait in Baluchi, Iran black and Arman sheep breeds. PCR-RFLP technique using ACCI and HinfI enzyme treatments employed to detection of polymorphism in FSHβ marker site but de...
متن کاملAssociation between PGC-1α gene variations and physical performance in non-athletic boys
Introduction: PGC-1α gene plays an important role in regulating cellular energy metabolism and stimulating the increased cell mitochondrial mass. Understanding the status of this gene polymorphism in non-athletic male adolescents may be helpful in choosing and identifying the sport talented male adolescents. The purpose of the present study was to investigate possible association between PGC-1α...
متن کاملارتباط بین پلیمورفیسم ژن IL6 و ورزش توانی: یک مرور سیستماتیک و متاآنالیز
Background: In the last few years several polymorphisms variants with significant association to power and sprint performance of elite athletes have been verified. Meantime, the IL-6 gene was introduced as a proper candidate to imply a person alteration into an elite athlete. Therefore, the goal of the present study is to examine the association between IL6 gene polymorphism and power sport usi...
متن کاملThe relationship between growth hormone polymorphism and growth hormone receptor genes with milk yield and reproductive performance in Holstein dairy cows
The aim of this study was to investigate the potential association between growth hormone GH/AluI and growth hormone receptor GHR/AluI polymorphisms with milk yield and reproductive performances in Holstein dairy cows in Iran. Blood samples of 150 Holstein cows were collected and their genomic DNA was extracted using Gene-Fanavaran DNA extracting kit. Fragments of the 428 bp of exon 5 growth ho...
متن کاملPolymorphisms of Candidate Genes for Muscle Perform and Male Fertility in Brazilian Mangalarga Horses
The aims of the present study were to propose apolymerase chain reaction-restriction fragment length polymorphismPCR-RFLP genotyping method for the AY_376689:c.773C>T single nucleotide polymorphism SNP of the equine PRKAG3 gene, related to muscle performance, as well as to characterize this SNP and a second polymorphism, AAWR_02017454:g.121684T>C of the SPATA1 gene, related to male fertility, i...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1987